package com.boss.salary.service;

import com.boss.common.entity.PageDTO;
import com.boss.framework.dto.PaginationDTO;
import com.boss.salary.entity.SalPersonType;
import com.boss.salary.entity.SalPost;

import java.util.List;
import java.util.Map;

public interface ISalPostService {

    /**
     * 分页查询
     *
     * @param paginationDTO 分页条件
     * @return
     */
    PageDTO<SalPost> querySalPostPage(PaginationDTO paginationDTO);

    /**
     * 根据code查询
     * @param code
     * @return
     */
    int queryDataByCode(String code);

    /**
     * 新增
     *
     * @param salPost
     */
    void insertSalPost(SalPost salPost);

    /**
     * 修改
     *
     * @param salPost
     */
    void updateSalPost(SalPost salPost);

    /**
     * 根据id删除
     *
     * @param id
     */
    void deleteSalPost(String id);

    /**
     * 查询全部
     *
     * @param queryParam 条件
     * @return
     */
    List<SalPost> querySalPostAll(Map<String, Object> queryParam);

    /**
     * 关联表分页查询
     *
     * @param paginationDTO 分页条件
     * @return
     */
    PageDTO<Map<String, Object>> querySalPersonPostRefPage(PaginationDTO paginationDTO);

    /**
     * 新增人员职务中间
     *
     * @param salPersonType
     */
    void saveSalPersonPostRef(SalPersonType salPersonType);

    /*
     * 根据personTypeId查询职务
     * */
    List<SalPost> querySalPostByPersonTypeId(String personTypeId);

}
